// 入口函数
// 点击切换
$(function () {
    // 点击登录区域里面的a, 显示注册区域隐藏登录区域
    $('#longinBox a').on('click', function () {
        $('#regBox').show();
        $('#longinBox').hide()
    })
    // 点击登录区域里面的a, 显示登录区域隐藏注册区域
    $('#regBox a').on('click', function () {
        $('#longinBox').show();
        $('#regBox').hide()
    })


    // 需求2定义效验规则
    // console.log(layui);
    let form = layui.form
    form.verify({
        username: [
            /^[a-zA-Z0-9]{1,10}$/,
            '用户名必须-到10位数字和字母'
        ],
        password: [
            /^[\S]{6,15}$/,
            '密码必须6到15位，且不能出现空格'
        ],
        repassword: function (value) {
            // value就是你给哪个标签添加效验规则  标签的值赋值到value
            // console.log(value);
            // console.log('#regBox input[name=username]').val();
            // console.log('#regBox input[name=password]').val();

            let pwd = $('#regBox input[name=password]').val()
            // console.log(pwd);
            if (pwd !== value) {
                return '两次密码输入不一致!'
            }
        }
    });


    // 需求3注册事件
    let layer = layui.layer;
    $('#formReg').on('submit', function (e) {
        // 阻止表单默认提交
        e.preventDefault()
        // 发送axios
        axios({
            method: 'POST',
            url: '/api/reguser',
            //    不传递对象类型,因为对象类型头信息设置application/json   目前的接口文档不支持


            data: $(this).serialize()
        }).then(res => {
            // console.log(res.data);
            if (res.data.status !== 0) {
                // return alert(res.data.message)
                return layer.msg(res.data.message)
            }
            // 成功提示
            // alert('恭喜你注册成功')
            layer.msg('恭喜你注册成功')
            // 切换到登录页面
            $('#regBox a').click();
            // 清空表单 $()是JQ元素转DOM元素加[0]
            // DOM里有一个reset()可以重置表单
            $('#formReg')[0].reset()

        })
    })

    //需求4登录功能
    $('#formLogin').on('submit', function (e) {
        e.preventDefault()
        axios({
            method: 'POST',
            url: '/api/login',
            //    不传递对象类型,因为对象类型头信息设置application/json   目前的接口文档不支持
            data: $(this).serialize()
        }).then(res => {
            // console.log(res.data);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)

            }
            // 成功提示
            // alert('恭喜你注册成功')
            layer.msg('恭喜你登录成功')
            // 存储
            localStorage.setItem('token', res.data.token)
            // 跳转到主页
            location.href = '/index.html'
        })
    })

})

